<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 已知字符串"abcacd"编程实现以下功能。
    // a. 去重  abcd
    // b. 统计每个字符出现的次数，结果显示 a 2、b 1、c 2、d1
    // c. (原始字符串：aaaabbbbbbbccdaaaaa；压缩后：a4b7c2d1a5)


    var str = "abcacd";

    // 去重
    // var uniStr = "";
    // for (var char of str) {
    //     if (uniStr.indexOf(char) == -1) {
    //         uniStr += char;
    //     }
    // }
    // console.log(uniStr); // "abcd"


    // 统计
    // var newStr = "";
    // for (var i = 0; i < uniStr.length; i++) {
    //     var char = uniStr.charAt(i); // 去重后的每一个字符
    //     var count = 0;
    //     for (var j = 0; j < str.length; j++) { //原字符串
    //         var item = str.charAt(j);
    //         if (char === item) count++
    //     }
    //     // console.log(char, count);
    //     newStr += char + count + (i < uniStr.length - 1 ? "、" : "")
    // }

    // console.log(newStr);



    // 压缩统计: (只统计相邻的)
    var str = "aaaabbbbbbbccdaaaaa";

    var newStr = "";
    var count = 0;
    for (var i = 0; i < str.length; i++) {
        // str.charAt(i)  当前
        // str.charAt(i+1)  相邻的后一个
        if (str.charAt(i) === str.charAt(i + 1)) {
            count++;
        } else {
            count++;
            newStr += str.charAt(i) + count;
            count = 0;
        }
    }
    console.log(newStr);





</script>

</html>